43ff0933b44c89490ffaa64e986a59f820dbfbb6,src/integration-test/java/de/danielbechler/diff/issues/issue15/GraphITCase.java,GraphITCase,bidirectionalGraphStackOverflow,#,349

Before Change


		final DiffNode root = compareAndPrint(modified, base);

		NodeAssertions.assertThat(root)
				.child(createBuilder()
						.withRoot()
						.withPropertyName("children")
						.withCollectionItem(a)
						.withPropertyName("children")
						.withCollectionItem(aa)
						.withPropertyName("children")
						.withCollectionItem(ba)
						.withPropertyName("children")
						.withCollectionItem(baa))
				.hasState(DiffNode.State.CHANGED);

		NodeAssertions.assertThat(root)
				.child(createBuilder()

After Change


		final DiffNode root = compareAndPrint(modified, base);

		NodeAssertions.assertThat(root)
				.child(startBuilding()
						.propertyName("children")
						.collectionItem(a)
						.propertyName("children")
						.collectionItem(aa)
						.propertyName("children")
						.collectionItem(ba)
						.propertyName("children")
						.collectionItem(baa))
				.hasState(DiffNode.State.CHANGED);

		NodeAssertions.assertThat(root)
				.child(startBuilding()
						.propertyName("children")
						.collectionItem(a)
						.propertyName("children")
						.collectionItem(aa)
						.propertyName("children")
						.collectionItem(ba)
						.propertyName("value"))
				.hasState(DiffNode.State.CHANGED);

		NodeAssertions.assertThat(root)
				.child(startBuilding()
						.propertyName("children")
						.collectionItem(a)
						.propertyName("directReference")
						.propertyName("children")
						.collectionItem(ba)
						.propertyName("children")
						.collectionItem(baa)
						.propertyName("value"))
				.hasState(DiffNode.State.CHANGED);

		NodeAssertions.assertThat(root)
				.child(startBuilding()
						.propertyName("children")
						.collectionItem(a)
						.propertyName("directReference")
						.propertyName("children")
						.collectionItem(ba)
						.propertyName("value"))
				.hasState(DiffNode.State.CHANGED);

		NodeAssertions.assertThat(root)
				.child(startBuilding()
						.propertyName("children")
						.collectionItem(b)
						.propertyName("children")
						.collectionItem(ba)
						.propertyName("children")
						.collectionItem(baa)
						.propertyName("value"))
				.hasState(DiffNode.State.CHANGED);

		NodeAssertions.assertThat(root)
				.child(startBuilding()
						.propertyName("children")
						.collectionItem(b)
						.propertyName("children")
						.collectionItem(ba)
						.propertyName("value"))
				.hasState(DiffNode.State.CHANGED);

		NodeAssertions.assertThat(root)
				.child(startBuilding()